const express = require('express');
const cors = require('cors');
const app = express();
const port = 8082;  // 改为8081端口

// 使用CORS中间件，允许所有跨域请求
app.use(cors());

// 解析JSON请求体
app.use(express.json());

// 十位古代皇帝数据
const emperors = [
    {
        id: 1,
        name: '商汤',
        dynasty: '商朝',
        reignYears: '约前1600-前1588年',
        achievements: '灭夏建商，推行仁政，减轻赋税，任用伊尹等贤臣治理国家'
    },
    {
        id: 2,
        name: '周武王',
        dynasty: '西周',
        reignYears: '约前1046-前1043年',
        achievements: '伐纣灭商建立西周，实行分封制，制定礼乐制度，奠定周王朝统治基础'
    },
    {
        id: 3,
        name: '齐桓公',
        dynasty: '春秋（齐国）',
        reignYears: '前685-前643年',
        achievements: '春秋五霸之首，任用管仲改革，尊王攘夷，九合诸侯，奠定齐国霸主地位'
    },
    {
        id: 4,
        name: '魏文侯',
        dynasty: '战国（魏国）',
        reignYears: '前445-前396年',
        achievements: '战国初期霸主，任用李悝变法，吴起治军，开创魏国百年强盛局面'
    },
    {
        id: 5,
        name: '汉高祖',
        dynasty: '西汉',
        reignYears: '前202-前195年',
        achievements: '推翻秦朝和项羽，建立汉朝，实行休养生息政策，恢复社会经济'
    },
    {
        id: 6,
        name: '汉光武帝',
        dynasty: '东汉',
        reignYears: '25-57年',
        achievements: '推翻王莽新朝，重建汉朝（东汉），开创"光武中兴"，减轻赋税发展生产'
    },
    {
        id: 7,
        name: '北魏孝文帝',
        dynasty: '北魏',
        reignYears: '471-499年',
        achievements: '推行汉化改革，迁都洛阳，改革鲜卑旧俗，促进民族融合'
    },
    {
        id: 8,
        name: '唐高宗',
        dynasty: '唐朝',
        reignYears: '649-683年',
        achievements: '延续贞观之治，击败西突厥，拓展唐朝疆域至最大，完善科举制度'
    },
    {
        id: 9,
        name: '元太祖',
        dynasty: '元朝',
        reignYears: '1206-1227年',
        achievements: '统一蒙古各部，建立大蒙古国，发动西征，奠定蒙古帝国基础'
    },
    {
        id: 10,
        name: '明成祖',
        dynasty: '明朝',
        reignYears: '1402-1424年',
        achievements: '发动靖难之役登基，迁都北京，派郑和七下西洋，编修《永乐大典》'
    }
];

// 提供 /emperors 接口 - 获取所有皇帝
app.get('/emperors', (req, res) => {
    console.log('接收到获取皇帝列表请求');
    res.json(emperors);
});

// 提供 /emperors/:id 接口 - 根据ID获取特定皇帝
app.get('/emperors/:id', (req, res) => {
    const id = parseInt(req.params.id);
    const emperor = emperors.find(emp => emp.id === id);

    if (emperor) {
        res.json(emperor);
    } else {
        res.status(404).json({ error: '未找到该皇帝' });
    }
});

// 健康检查接口
app.get('/health', (req, res) => {
    res.json({
        status: 'ok',
        message: '服务器运行正常',
        timestamp: new Date().toISOString()
    });
});

// 启动服务器
app.listen(port, '0.0.0.0', () => {
    console.log('=================================');
    console.log('🚀 皇帝数据服务器已启动!');
    console.log(`📍 本地访问: http://localhost:${port}`);
    console.log(`🌐 网络访问: http://192.168.3.3:${port}`);
    console.log('=================================');
    console.log('可用接口:');
    console.log(`  GET /emperors     - 获取所有皇帝数据`);
    console.log(`  GET /emperors/:id - 根据ID获取特定皇帝`);
    console.log(`  GET /health       - 健康检查`);
    console.log('=================================');
});